1. Field of the Invention
The present invention relates to error correction encoding and decoding technologies, and more particularly, to an error correction encoding method and apparatus, and an error correction decoding method and apparatus, which can more precisely detect errors that have occurred in error-correction-encoded data.
2. Description of the Related Art
There are various types of data storage devices, including magnetic disks, such as a floppy disk and a hard disk, magnetic tapes, semiconductor memory chips, such as ROM and RAM, and optical disks, such as a CD and a DVD, etc.
Optical disks have been widely adopted in recent years because their storage capability has rapidly increased due to developments in semiconductor and signal processing technologies. In addition, optical discs are relatively inexpensive. Data is recorded on optical disks on a block-by-block basis. For example, each block is an error correction code (ECC) block, which is a minimal data unit that is error-correctable. Because an optical disk may be scratched or damaged by dust, data is error-correction-encoded in a predetermined manner before being recorded on the optical disk.
A Reed-Solomon code is often used to error-correction-encode data. For example, a Reed-Solomon code (248, 216,32) generates a 248-byte codeword by adding a 32-byte parity to a 216-byte user data to correct errors in the 216-byte user data.
In the case of error-correction-decoding error-correction-encoded data, additional information, for example, burst indicator subcode (BIS) data, is inserted between adjacent Reed-Solomon codes in order to more easily detect erroneous parts of the error-correction-encoded data. The BIS data has such a high data rate that it can correct most of the errors that have occurred in the error-correction-encoded data.
FIG. 1 illustrates the format of conventional error-correction-encoded data, which comprises ECC data C0 through C3 and BIS data B0 through B2. Referring to FIG. 1, each of the ECC data C0 through C3 is 38 bytes long, and each of the BIS data is 1 byte long. The BIS data B0 through B2 are inserted between C0 and C1, between C1 and C2, and between C2 and C3, respectively.
The BIS data B0 through B2 are error-correction-decoded first. If one of the ECC data C0 through C3 is determined as being surrounded by two consecutive erroneous BIS data, the corresponding ECC data is considered erroneous and it is error-correction-decoded, thereby increasing ECC data error correctability. These types of error correction encoding and decoding methods, using a conventional BIS data structure and a conventional Reed-Solomon coding method, are disclosed in U.S. Pat. No. 6,367,049.
The conventional error correction encoding and decoding methods, however, may falsely determine ECC data as being erroneous if the ECC data is surrounded by two consecutive erroneous BIS data.